Adaptive filtering based upon boundary strength

ABSTRACT

Adjacent regions are identified in an image. Coding parameters for the adjacent regions are identified. Selective filtering is performed at the region between the identified adjacent regions.

[0001] This application is a continuation of International ApplicationNo. PCT/JP02/09306, filed Sep. 11, 2002, entitled “Adaptive FilteringBased upon Boundary Strength,” invented by Shijun Sun, Shawmin Lei andHiroyuki Katata, now published under International Publication No. WO03/026313; which is a continuation of U.S. patent application Ser. No.09/953,329, filed Sep. 14, 2001, entitled “Adaptive Filtering Based uponBoundary Strength,” invented by Shijun Sun and Shawmin Lei.

BACKGROUND OF THE INVENTION

[0002] Block based motion compensated video coding is used in many videocompression standards, such as for example, H.261, H.263, H.263+,MPEG-1, MPEG-2, and H26L. Block based motion compensation encodes videopixels in a block by block manner using image compression techniques.The image compression techniques normally use lossy compressiontechniques that result in visual artifact in the decoded images,referred to generally as image artifacts. One type of image artifactsare blocking artifacts that occur along the block boundaries in areconstructed image. The primary source of the blocking artifacts resultfrom coarse quantization of transform coefficients used to encode theblocks.

[0003] Reconstructed images are the images produced after the blocks areinverse transformed and decoded. Image filtering techniques may be usedto reduce the artifacts in reconstructed images. The rule of thumb forthese image filtering techniques is that image edges should be preservedwhile the rest of the image should be smoothed. A low pass filter may beused as the image filter and its characteristics should be selectedbased on the characteristics of a particular pixel or set of pixelssurrounding the image edges.

[0004] Non-correlated image pixels that extend across image blockboundaries are specifically filtered to reduce blocking artifacts. Whilefiltering techniques reduce blocking artifacts, however, these filteringtechniques may unfortunately introduce blurring artifacts into theimage. For example, if there are few or no blocking artifacts presentbetween adjacent blocks, then the low pass filtering needlesslyincorporates blurring into the image while at the same time wastingprocessing resources.

BRIEF DESCRIPTION OF THE DRAWINGS

[0005]FIG. 1 is a diagram showing how deblock filtering is selectivelyskipped according to similarities between adjacent image blocks.

[0006]FIG. 2 is a diagram showing two adjacent image blocks havingsimilar motion vectors.

[0007]FIG. 3 is a diagram showing how transform coefficients areidentified for one of the image blocks.

[0008]FIG. 4 is a diagram showing how residual transform coefficientsare compared between two adjacent image blocks.

[0009]FIG. 5 is a block diagram showing how the video image is encodedand decoded.

[0010]FIG. 6 is a block diagram showing how deblock filtering isselectively skipped in a codec.

[0011]FIG. 7 is a representation of an existing block based imagefiltering technique.

[0012]FIG. 8 is a block diagram showing a technique for determining theboundaries to filter and the strength of the respective filter to use.

[0013]FIG. 9 is a drawing for explaining other embodiments of thepresent invention

[0014]FIG. 10 is a drawing for explaining further embodiments of thepresent invention.

[0015]FIG. 11 is a drawing for explaining further embodiments of thepresent invention.

[0016]FIG. 12 is a drawing for explaining further embodiments of thepresent invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0017] Conventional filtering processes consider a single reconstructedimage frame at a time. Block based video encoding techniques may usemotion vectors to estimate the movement of blocks of pixels. Themotion-vector information is available at both the encoder and decoderbut is not used with conventional filtering processes. For example, iftwo adjacent blocks share the same motion vector with respect to thesame reference image frame, (for a multiple reference frames system)there is likely no significant difference between the image residuals ofeach block and accordingly should not be filtered. In essence, adjacentportions of the image have the same motion with respect to the samereference frame and accordingly no significant difference between theimage residuals would be expected. In many cases, the block boundary ofthese two adjacent blocks may have been filtered in the reference frameand should therefore not be filtered again for the current frame. If adeblock filter is used without considering this motion-vectorinformation, the conventional filtering process might filter the sameboundary again and again from frame to frame. This unnecessary filteringnot only causes unnecessary blurring but also results in additionalfilter computations.

[0018]FIG. 1 illustrates an image 12 that selectively filters blockingartifacts according to similarities between image blocks. It is to beunderstood that the image may likewise use non-square blocks or anyother sets of pixels. The borders between some of the blocks 14 includeblocking artifacts 18. In general blocking artifacts are any imagediscontinuities between blocks 14 that may result from the encodingand/or decoding process. A low pass filter or other filter may be usedto reduce the blocking artifacts that exist at the borders of adjacentimage blocks.

[0019] For example, blocking artifacts 24 exist between blocks 20 and22. A low pass filter may be used at the border 26 between blocks 20 and22 to remove or otherwise reduce the blocking artifacts 24. The low passfilter, for example, selects a group of pixels 28 from both sides of theborder 26. An average pixel value, or any other statistical measure, isderived from the group of pixels 28. Then each individual pixel iscompared to the average pixel value. Any pixels in group 28 outside of apredetermined range of the average pixel value is then replaced with theaverage pixel value.

[0020] As previously described, if there are few or no blockingartifacts 24 between the adjacent pixels, then the groups of pixels 28may be needlessly filtered causing blurring in the image. A skip modefiltering scheme may use the motion estimation and/or compensationinformation for adjacent image blocks as a basis upon which toselectively filter. If the motion estimation and compensationinformation is sufficiently similar the filtering may be skipped. Thisavoids unnecessary image blurring and significantly reduces the requirednumber of filtering operations, or any other appropriate value.

[0021] As an example, it may be determined during the encoding processthat adjacent image blocks 30 and 32 have similar coding parameters.Accordingly, the deblock filtering may be skipped for the groups ofpixels 34 that extend across the border 31 between adjacent blocks 30and 32. Skip mode filtering can be used for any horizontal, vertical, orotherwise any boundary between adjacent blocks in the image 12.

[0022]FIG. 2 illustrates a reference frame 42, reference frame 48, and acurrent frame 40 that is currently being encoded or decoded. The codingparameters for blocks 44 and 46 are compared to determine whether thedeblock filtering should be skipped between the two adjacent blocks 44and 46. One of the encoding parameters that may be compared is themotion vectors (MV) for the blocks 44 and 46.

[0023] A motion vector MV1 points from block 44 in the current imageframe 40 to an associated block 44′ in the reference image 42. A motionvector MV2 points from block 46 in the current image frame 40 to anassociated block 46′ in the reference frame 42. A skip mode filteringchecks to see if the motion vectors MV1 and MV2 point to adjacent blocksin the same reference frame 42. If the motion vectors point to adjacentblocks in the same reference frame (MV1=MV2), then the deblock filteringmay be skipped. This motion vector information may be used along withother coding information to decide whether to skip deblock filteringbetween the two image blocks 44 and 46.

[0024] More than one reference frame may be used during the encoding anddecoding process. For example, there may be another reference frame 48.The adjacent blocks 44 and 46 may have motion vectors pointing todifferent reference frames. In one example, the decision to skip deblockfiltering depends on whether the motion vectors for the two adjacentblocks point to the same reference frame. For example, image block 44may have a motion vector 49 pointing to reference frame 48 and imageblock 46 may have the motion vector MV2 pointing to reference frame 42.The deblock filtering is not skipped in this example because the motionvectors 49 and MV2 point to different reference frames.

[0025]FIG. 3 illustrates another example of a coding parameter that maybe used to decide whether or not to selectively skip deblock filtering.The image block 44 from image frame 40 is compared with reference block44′ from the reference frame 42 pointed to by the motion vector MVl aspreviously illustrated in FIG. 2. A residual block 44″ is output fromthe comparison between image block 44 and reference block 44′. Atransform 50 is performed on the residual block 44″ creating atransformed block 44″ of transform coefficients. In one example, thetransform 50 is a Discrete Cosine Transform. The transformed block 44″includes a D.C. components 52 and A.C. components 53.

[0026] The D.C. component 52 refers to a lowest frequency transformcoefficient in image block 44. For example, the coefficient thatrepresents the average energy in the image block 44. The A.C. components53 refer to the transform coefficients that represent the higherfrequency components in the image block 44. For example, the transformcoefficients that represent the large energy differences between pixelsin the image block 44.

[0027]FIG. 4 illustrates the transformed residual blocks 44″ and 46″.The D.C. components 52 from the two transformed blocks 44″ and 46″ arecompared in processor 54. If the D.C. components are the same or withinsome range of each other, the processor 54 notifies a deblock filteroperation 56 to skip deblock filtering between the border of the twoadjacent blocks 44 and 46. If the D.C. components 52 are not similar,then no skip notification is initiated and the border between blocks 44and 46 is deblock filtered.

[0028] In one example, the skip mode filtering may be incorporated intothe Telecommunications Sector of the International TelecommunicationUnion (ITU-T) proposed H.26L encoding scheme. The H.26L scheme uses 4×4integer Discrete Cosine Transform (DCT) blocks. If desired, only theD.C. component of the two adjacent blocks may be checked. However somelimited low frequency A.C. coefficients may likewise be checked,especially when the image blocks are larger sizes, such as 9×9 or 16×16blocks. For example, the upper D.C. component 52 and the three lowerfrequency A.C. transform coefficients 53 for block 44″ maybe comparedwith the upper D.C. component 52 and three lower frequency A.C.transform coefficients 53 for block 46″. Different combinations of D.C.and/or any of the A.C. transform coefficients can be used to identifythe relative similarity between the two adjacent blocks 44 and 46.

[0029] The processor 54 can also receive other coding parameters 55 thatare generated during the coding process. These coding parameters includethe motion vectors and reference frame information for the adjacentblocks 44 and 46 as previously described. The processor 54 may use someor all of these coding parameters to determine whether or not to skipdeblock filtering between adjacent image blocks 44 and 46. Otherencoding and transform functions performed on the image may be carriedout in the same processor 54 or in a different processing circuit. Inthe case where all or most of the coding is done in the same processor,the skip mode is simply enabled by setting a skip parameter in thefiltering routine.

[0030]FIG. 5 shows how skip mode filtering may be used in a block-basedmotion-compensated Coder-Decoder (Codec) 60. The codec 60 is used forinter-frame coding. An input video block from the current frame is fedfrom box 62 into a comparator 64. The output of a frame buffering box 80generates a reference block 81 according to the estimated motion vector(and possible reference frame number). The difference between the inputvideo block and the reference block 81 is transformed in box 66 and thenquantized in box 68. The quantized transform block is encoded by aVariable Length Coder (VLC) in box 70 and then transmitted, stored, etc.

[0031] The encoding section of the codec 60 reconstructs the transformedand quantized image by first Inverse Quantizing (IQ) the transformedimage in box 72. The inverse quantized image is then inverse transformedin box 74 to generate a reconstructed residual image. This reconstructedresidual block is then added in box 76 to the reference block 81 togenerate a reconstructed image block. Generally the reconstructed imageis loop filtered in box 78 to reduce blocking artifacts caused by thequantization and transform process. The filtered image is then bufferedin box 80 to form reference frames. The frame buffering in box 80 usesthe reconstructed reference frames for motion estimation andcompensation. The reference block 81 is compared to the input videoblock in comparator 64. An encoded image is output at node 71 from theencoding section and is then either stored or transmitted.

[0032] In a decoder portion of the codec 60, a variable length decoder(VLD) decodes the encoded image in box 82. The decoded image is inversequantized in box 84 and inverse transformed in box 86. The reconstructedresidual image from box 86 is added in the summing box 88 to thereference block 91 before being loop filtered in box 90 to reduceblocking artifacts and buffered in box 92 as reference frames. Thereference block 91 is generated from box 92 according to the receivedmotion vector information. The loop filtered output from box 90 canoptionally be post filtered in box 94 to fuirther reduce image artifactsbefore being displayed as, a video image in box 96. The skip modefiltering scheme can be performed in any combination of the filteringfunctions in boxes 78, 90 and 94.

[0033] The motion estimation and compensation information availableduring video coding are used to determine when to skip deblock filteringin boxes 78, 90 and/or 94. Since these coding parameters are alreadygenerated during the encoding and decoding process, there are noadditional coding parameters that have to be generated or transmittedspecially for skip mode filtering.

[0034]FIG. 6 shows is further detail how skip mode filtering may be usedin the filters 78, 90, and/or 94 in the encoder and decoder in FIG. 5.The interblock boundary between any two adjacent blocks “i” and “k” isfirst identified in box 100. The two blocks may be horizontally orvertically adjacent in the image frame. Decision box 102 compares themotion vector mv(j) for block j with the motion vector mv(k) for blockk. It is first determined whether the two adjacent blocks j and k havethe same motion vector pointing to the same reference frame. In otherwords, the motion vectors for the adjacent blocks point to adjacentblocks (mv(j)=mv(k)) in the same reference frame (ref(j)=ref(k)).

[0035] It is then determined whether the residual coefficients for thetwo adjacent blocks are similar. If there is no significant differencebetween the image residuals of the adjacent blocks, for example, the twoblocks j and k have the same of similar D.C. component (dc(j) dc(k)),then the deblock filtering process in box 104 is skipped. Skip modefiltering then moves to the next interblock boundary in box 106 andconducts the next comparison in decision box 102. Skip mode filteringcan be performed for both horizontally adjacent blocks and verticallyadjacent blocks.

[0036] In one embodiment, only the reference frame and motion vectorinformation for the adjacent image blocks are used to determine blockskipping. In another embodiment, only the D.C. and/or A.C. residualcoefficients are used to determine block skipping. In anotherembodiment, the motion vector, reference frame and residual coefficientsare all used to determine block skipping.

[0037] The skip mode filtering scheme can be applied to spatiallysubsampled chrominance channels. For example in a case with 4:2:0 colorformat sequences, skip mode filtering for block boundaries may only relyon the equality of motion vectors and D.C. components for the luminancecomponent of the image. If the motion vectors and the D.C. componentsare the same, deblock filtering is skipped for both the luminance andchrominance components of the adjacent image blocks. In anotherembodiment, the motion vectors and the D.C. components are consideredseparately for each luminance and chrominance component of the adjacentblocks. In this case, a luminance or chrominance component for adjacentblocks may be deblock filtered while the other luminance or chrominancecomponents for the same adjacent blocks are not deblock filtered.

[0038] Referring to FIG. 7, a technique recently proposed by others inH.26L defines a “block strength” parameter for the loop filter tocontrol the loop filtering process. Each block of an image has astrength value that is associated with the block and controls thefiltering performed on all of its four block boundaries. The blockstrength value is derived based on the motion vectors and the transformcoefficients available in the bitstream. However, after consideration ofthe use of the block strength value for all four edges of the block, thepresent inventors came to the realization this results in removing someblocking artifacts at some edges while blurring along other edges.

[0039] In contrast to the block by block manner of filtering, thepresent inventors came to the realization that filtering determinationsshould be made in an edge by edge manner together with otherinformation. The other information, may include for example, informationrelated to intra-block encoding of blocks, information related to motionestimation of blocks with residual information, information related tomotion estimation of blocks without residual information, andinformation related to motion estimation of blocks without residualshaving sufficient differences, information related to reference frames,and information related to motion vectors of adjacent blocks. One, two,three, or four of these information characteristics may be used toimproved filtering abilities in an edge by edge manner. Based upondifferent sets of characteristics, the filtering may be modified, asdesired.

[0040] For each block boundary a control parameter is preferablydefined, namely, a boundary strength Bs. Referring to FIG. 8 a pair ofblocks sharing a common boundary are referred to as j and k. A firstblock 200 checks to see if either one of the two blocks is intra-coded.If either is intra-coded then the boundary strength is set to three atblock 202. Block 200 determines if both of the blocks are not motionpredicted. If no motion prediction is used then the block derives fromthe frame itself and accordingly there should be filtering performed onthe boundary. This is normally appropriate because intra-coded blockboundaries normally include blocking artifacts.

[0041] If both of the blocks j and k are, at least in part, predictedfrom a previous or future frame, then the blocks j and k are checked atblock 204 to determine if any coefficients are coded. The coefficients,may be for example, discrete cosine transform coefficients. If either ofthe blocks j and k include non-zero coefficients, then at least one ofthe blocks represent a prediction from a previous or future frametogether with modifications to the block using the coefficients,generally referred to as residuals. If either of the blocks j and kinclude non-zero coefficients (and motion predicted) then the boundarystrength is set to two at block 206. This represents an occurrence wherethe images are predicted but the prediction is corrected using aresidual. Accordingly, the images are likely to include blockingartifacts.

[0042] If both of the blocks j and k are motion predicted and do notinclude non-zero coefficients, generally referred to as residuals, thena determination at block 208 is made to check if the pixels on eitherside of the boundary are sufficiently different from one another. Thismay likewise be used to determine if the residuals are sufficientlysmall. If a sufficient difference exists then a blocking artifact islikely to exist. Initially a determination is made to determine if thetwo blocks use different reference frames, namely, R(j)≠R(k). If theblocks j and k are from two different reference frames then the boundarystrength is assigned a value of one at block 210. Alternatively, if theabsolute difference of the motion vectors of the two image blocks ischecked to determine if they are greater than or equal to 1 pixel ineither vertical or horizontal directions, namely, |V(j,x)−V(k,x)|≧1pixel or |V(j,y)−V(k,y)|≧1 pixel. Other threshold values may likewise beused, as desired, including less than or greater than depending on thetest used. If the absolute difference of the motion vectors is greaterthan or equal to one then the boundary strength is assigned a value ofone.

[0043] If the two blocks j and k are motion predicted, withoutresiduals, are based upon the same frame, and have insignificantdifferences, then the boundary strength value is assigned a value ofzero. If the boundary strength value is assigned a value of zero theboundary is not filtered or otherwise adaptively filtered accordingly tothe value of the boundary strength. It is to be understood that thesystem may lightly filter if the boundary strength is zero, if desired.

[0044] The value of the boundary strength, namely, one, two, and three,is used to control the pixel value adaptation range in the loop filter.If desired, each different boundary strength may be the basis of adifferent filtering. For example, in some embodiments, three kinds offilters may be used wherein a first filter is used when Bs=1, a secondfilter is used when Bs=2 and a third filter is used when Bs=3. It is tobe understood that non-filtering may be performed by minimal filteringin comparison to other filtering which results in a more significantdifference. In the example shown in FIG. 8 the larger the value for Bsthe greater the filtering. The filtering may be performed by anysuitable technique, such as methods described in Joint Committee Draft(CD) of the Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T VCEG(JVT-C167) or other known methods for filtering image artifacts.

[0045] Skip mode filtering can be used with any system that encodes ordecodes multiple image frames. For example, DVD players, videorecorders, or any system that transmits image data over a communicationschannel, such as over television channels or over the Internet. It is tobe understood that the system may use the quantization parameter as acoding parameter, either alone or in combination with other codingparameters. In addition, it is to be understood that the system may befree from using the quantization parameter alone or free from using thequantization parameter at all for purposes of filtering.

[0046] The skip mode filtering described above can be implemented withdedicated processor systems, micro controllers, programmable logicdevices, or microprocessors that perform some or all of the operations.Some of the operations described above may be implemented in softwareand other operations may be implemented in hardware.

[0047] For the sake of convenience, the operations are described asvarious interconnected functional blocks or distinct software modules.This is not necessary, however, and there may be cases where thesefinctional blocks or modules are equivalently aggregated into a singlelogic device, program or operation with unclear boundaries. In anyevent, the functional blocks and software modules or described featurescan be implemented by themselves, or in combination with otheroperations in either hardware or software.

[0048] In some embodiments of the present invention as illustrated inFIG. 9, image data 902 may be input to an image data encoding apparatus904 which includes the adaptive filtering portion as described above forsome embodiments of the present invention. Output from the image dataencoding apparatus 904 is an encoded image data and may then be storedon any computer-readable storage media 906. The storage media mayinclude, but is not limited to, disc media, memory card media, ordigital tape media. Storage media 906 may act as a short-term storagedevice. The encoded image data may be read from storage media 906 anddecoded by an image data decoding apparatus 908 which includes theadaptive filtering portion as described above for some embodiments ofthe present invention. The decoded image data may be provided for outputdecoded image data 910 to a display or other device.

[0049] In some embodiments of the present invention, as illustrated inFIG. 10, image data 1002 may be encoded and the encoded image data maythen be stored on storage media 1006. The basic procedure of image dataencoding apparatus 1004, storage media 1006, and image data decodingapparatus 1008 is the same as in FIG. 9. In FIG. 10, Bs data encodingportion 1012 receives the value of the boundary strength Bs for eachblock boundary and encoded by any data encoding method which includesDPCM, multi-value run-length coding, transform coding with loss-lessfeature and so on. The boundary strength Bs may be generated asdescribed in FIG. 8. The encoded boundary strength may then be stored onstorage media 1006. In one example, the encoded boundary strength may bestored separately from the encoded image data. In other example, theencoded boundary strength and the encoded image data may be multiplexedbefore storing on the storage media 1006.

[0050] The encoded boundary strength may be read from the storage media1006 and decoded by Bs data decoding portion 1014 to input the decodedboundary strength to image data decoding apparatus 1008. When thedecoded boundary strength is utilized in image data decoding apparatus1008 to perform the adaptive filtering of the present invention, it maynot be necessary to repeat the process described in FIG. 8 to generateboundary strength and this may save the processing power for theadaptive filtering.

[0051] In some embodiments of the present invention, as illustrated inFIG. 11, image data 1102 may be input to an image data encodingapparatus 1104 which includes the adaptive filtering portion asdescribed above for some embodiments of the present invention. Outputfrom the image data encoding apparatus 1104 is an encoded image data andmay then be sent over a network, such as a LAN, WAN or the Internet1106. The encoded image data may be received and decoded by an imagedata decoding apparatus 1108 which also communicates with network 1106.The image data decoding apparatus 1108 includes the adaptive filteringportion as described above for some embodiments of the presentinvention. The decoded image data may be provided for output decodedimage data 1110 to a display or other device.

[0052] In some embodiments of the present invention, as illustrated inFIG. 12, image data 1202 may be encoded and the encoded image data maythen be sent over a network, such as a LAN, WAN or the Internet 1206.The basic procedure of image data encoding apparatus 1204 and image datadecoding apparatus 1208 is the same as FIG. 11. In FIG. 12, Bs dataencoding portion 1212 receives the value of the boundary strength Bs foreach block and encoded by any date encoding method which includes DPCM,multi-value run-length coding, transform coding with loss-less featuresand so on. The boundary strength Bs may be generated as described inFIG. 8. The encoded boundary strength may then be sent over the network1206. In one example, the encoded boundary strength may be sentseparately from the encoded image data. In other examples, the encodedboundary strength and the encoded image data may be multiplexed beforesending over the network 1206.

[0053] The encoded boundary strength may be received from the network1206 and decoded by Bs data decoding portion 1214 to input the decodedboundary strength to image data decoding apparatus 1208. When decodingboundary strength is utilized in image data decoding apparatus 1208 toperform the adaptive filtering of the present invention, it may not benecessary to repeat the process described in FIG. 8 to generate boundarystrength and this may same the processing power for the adaptivefiltering.

[0054] Having described and illustrated the principles of the inventionin a preferred embodiment thereof, it should be apparent that theinvention may be modified in arrangement and detail without departingfrom such principles. Claim is made to all modifications and variationcoming within the spirit and scope of the following claims.

1. A method for at least one of encoding and decoding an image,comprising: (a) identifying adjacent regions in said image; (b)identifying coding parameters for said adjacent regions; (c) identifyingtransform coefficients for said adjacent regions; (d) identifying DCcomponents and AC components in said transform coefficients; and (e)selectively filtering at least a portion of said regions proximate theboundary between said adjacent regions wherein said selectivelyfiltering is based upon a similarity of said DC components and said ACcomponents.
 2. A method for at least one of encoding and decoding animage, said method comprising: (a) identifying adjacent regions in saidimage; (b) examining coding parameters for said adjacent regions; (c)selectively filtering at least a portion of said regions proximate aboundary between said adjacent regions based upon said codingparameters; (d) identifying similarities between coding parameters in aluminance channel of said adjacent regions; and (e) controllingfiltering for both the luminance channel and a chrominance channel insaid image according to said similarities.
 3. A method for at least oneof encoding and decoding an image, said method comprising: (a)identifying adjacent regions in said image; (b) examining codingparameters for said adjacent regions; (c) selectively filtering at leasta portion of said regions proximate a boundary between said adjacentregions based upon whether at least one of said adjacent regions isintra-coded.
 4. A method for at least one of encoding and decoding animage, comprising: (a) identifying adjacent regions in said image; (b)examining coding parameters for said adjacent regions; and (c)selectively filtering at least a portion of said regions proximate aboundary between said adjacent regions based upon whether at least oneof said adjacent regions is encoded with residuals.
 5. A method for atleast one of encoding and decoding an image, comprising: (a) identifyingadjacent regions in said image; (b) examining coding parameters for saidadjacent regions; and (c) selectively filtering at least a portion ofsaid regions proximate a boundary between said adjacent regions saidfiltering based upon determining whether at least two of said adjacentregions are predicted based upon two different reference frames.
 6. Amethod for at least one of encoding and decoding an image, comprising:(a) identifying adjacent regions in said image; (b) examining codingparameters for said adjacent regions; and (c) selectively filtering atleast a portion of said regions proximate a boundary between saidadjacent regions based upon determining whether at least two of saidadjacent regions have an absolute difference of motion vectors that hasa mathematical relationship to a threshold value.
 7. The method of claim6 wherein said absolute difference is in a first direction.
 8. Themethod of claim 7 wherein said absolute difference is also in a seconddirection different than said first direction.
 9. A method for at leastone of encoding and decoding an image, comprising: (a) identifyingadjacent regions in said image; (b) examining coding parameters for saidadjacent regions; and (c) selectively filtering at least a portion ofsaid regions proximate a boundary between said adjacent regions basedupon said coding parameters and wherein said selectively filtering usesa first filter when said adjacent regions are intra-coded.
 10. A methodfor at least one of encoding and decoding an image, comprising: (a)identifying adjacent regions in said image; (b) examining codingparameters for said adjacent regions; and (c) selectively filtering atleast a portion of said regions proximate the boundary between saidadjacent regions based upon said coding parameters, wherein saidselectively filtering uses a first filter when said adjacent regions areintra-coded and a second filter when at least one of said adjacentregions is encoded with residuals.
 11. A method for at least one ofencoding and decoding an image, comprising: (a) identifying adjacentregions in said image; (b) examining coding parameters for said adjacentregions; and (c) selectively filtering at least a portion of saidregions proximate a boundary between said adjacent regions based uponsaid coding parameters; (d) wherein said selectively filtering uses afirst filter when said adjacent regions are intra-coded, a second filterwhen at least one of said adjacent regions is encoded with residuals,and a third filter when said adjacent regions are predicted based upontwo different reference frames.
 12. A method for at least one ofencoding and decoding an image, comprising: (a) identifying adjacentregions in said image; (b) examining coding parameters for said adjacentregions; and (c) selectively filtering at least a portion of said theregions proximate a boundary between said adjacent regions based uponsaid coding parameters, wherein said selectively filtering uses a firstfilter when said adjacent regions are intra-coded, a second filter whenat least one of said adjacent regions is encoded with residuals, a thirdfilter when at least two of said adjacent regions are predicted basedupon two different reference frames, and said third filter when said atleast two of said adjacent regions have an absolute difference of motionvectors that falls within a set of values including a threshold value asone extreme.
 13. An encoder for encoding an image comprising: (a) afirst identifier for identifying adjacent regions in said image; (b) anexaminer for examining coding parameters for said adjacent regions; (c)a filter for selectively filtering at least a portion of said regionsproximate a boundary between said adjacent regions based upon saidcoding parameters; (d) a second identifier for identifying DC and ACcomponents for said adjacent regions; and (e) a filter controller forcontrolling said selectively filtering based upon a similarity of saidDC and said AC components.
 14. An encoder for encoding an imagecomprising: (a) a first identifier for identifying adjacent regions insaid image; (b) an examiner for examining coding parameters for saidadjacent regions; (c) a filter for selectively filtering at least aportion of said regions proximate a boundary between said adjacentregions based upon said coding parameters; (d) a second identifier foridentifying similarities between coding parameters in a luminancechannel of said adjacent regions; and (e) a filter controller forcontrolling said filter wherein said filter is applied to said luminancechannel and a chrominance channel based on said similarities.
 15. Anencoder for encoding an image comprising: (a) a first identifier foridentifying adjacent regions in said image; (b) an examiner forexamining coding parameters for said adjacent regions; (c) a filter forselectively filtering at least a portion of said regions proximate aboundary between said adjacent regions based upon said codingparameters; wherein said selectively filtering is based upon determiningwhether at least one of said adjacent regions is intra-coded.
 16. Anencoder for encoding an image comprising: (a) a first identifier foridentifying adjacent regions in said image; (b) an examiner forexamining coding parameters for said adjacent regions; and (c) a filterfor selectively filtering at least a portion of said regions proximate aboundary between said adjacent regions based upon said codingparameters; wherein said selectively filtering is based upon determiningwhether at least one of said adjacent regions is encoded with residuals.17. An encoder for encoding an image comprising: (a) a first identifierfor identifying adjacent regions in said image; (b) an examiner forexamining coding parameters for said adjacent regions; and (c) a filterfor selectively filtering at least a portion of said regions proximate aboundary between said adjacent regions based upon said codingparameters; wherein said selectively filtering is based upon determiningwhether at least two of said adjacent regions are predicted based upontwo different reference frames.
 18. An encoder for encoding an imagecomprising: (a) a first identifier for identifying adjacent regions insaid image; (b) an examiner for examining coding parameters for saidadjacent regions; and (c) a filter for selectively filtering at least aportion of said regions proximate a boundary between said adjacentregions based upon said coding parameters; wherein said selectivelyfiltering is based upon determining whether at least two of saidadjacent regions have an absolute difference of motion vectors that isone of greater than or less than or less than a threshold value.
 19. Theencoder of claim 18 wherein said absolute difference is also in a firstdirection.
 20. The encoder of claim 19 wherein said absolute differenceis also in a second direction different than said first direction. 21.An encoder for encoding an image comprising: (a) a first identifier foridentifying adjacent regions in said image; (b) an examiner forexamining coding parameters for said adjacent regions; and (c) at leastone filter for selectively filtering at least a portion of said regionsproximate a boundary between said adjacent regions based upon saidcoding parameters; wherein said selectively filtering uses a firstfilter when said adjacent regions are intra-coded.
 22. An encoder forencoding an image comprising: (a) a first identifier for identifyingadjacent regions in said image; (b) an examiner for examining codingparameters for said adjacent regions; and (c) a plurality of filters forselectively filtering at least a portion of said regions proximate aboundary between said adjacent regions based upon said codingparameters; wherein said selectively filtering uses a first filter whensaid adjacent regions are intra-coded and a second filter when said atleast one of said adjacent regions is encoded with residuals.
 23. Anencoder for encoding an image comprising: (a) a first identifier foridentifying adjacent regions in said image; (b) an examiner forexamining coding parameters for said adjacent regions; and (c) aplurality of filters for selectively filtering at least a portion ofsaid regions proximate a boundary between said adjacent regions basedupon said coding parameters; wherein said selectively filtering uses afirst filter when said adjacent regions are intra-coded, a second filterwhen at least one of said adjacent regions is encoded with residuals,and a third filter when at least two of said adjacent regions arepredicted based upon two different reference frames.
 24. An encoder forencoding an image comprising: (a) a first identifier for identifyingadjacent regions in said image; (b) an examiner for examining codingparameters for said adjacent regions; and (c) a plurality of filters forselectively filtering at least a portion of said regions proximate aboundary between said adjacent regions based upon said codingparameters; wherein said selectively filtering uses a first filter whensaid adjacent regions are intra-coded, a second filter when at least oneof said adjacent regions is encoded with residuals, a third filter whenat least two of said adjacent regions are predicted based upon twodifferent reference frames, and said third filter when at least two ofsaid adjacent regions have an absolute difference of motion vectors thatis greater than or less than a threshold value.
 25. A decoder forencoding an image comprising: (a) a first identifier for identifyingadjacent regions in said image; (b) an examiner for examining codingparameters for said adjacent regions; (c) a filter for selectivelyfiltering at least a portion of said regions proximate a boundarybetween said adjacent regions based upon said coding parameters; (d) asecond identifier for identifying DC and AC components for said adjacentregions; and (e) a filter controller for controlling said selectivelyfiltering based upon a similarity of said DC and said AC components. 26.An decoder for decoding an image comprising: (a) a first identifier foridentifying adjacent regions in said image; (b) an examiner forexamining coding parameters for said adjacent regions; (c) a filter forselectively filtering at least a portion of said regions proximate aboundary between said adjacent regions based upon said codingparameters; (d) a second identifier for identifying similarities betweencoding parameters in a luminance channel of said adjacent regions; and(e) a filter controller for controlling said filter, wherein said filteris applied to said luminance channel and a chrominance channel based onsaid similarities.
 27. A decoder for decoding an image comprising: (a) afirst identifier for identifying adjacent regions in said image; (b) anexaminer for examining coding parameters for said adjacent regions; and(c) a filter for selectively filtering at least a portion of saidregions proximate a boundary between said adjacent regions based uponsaid coding parameters; wherein said selectively filtering is based upondetermining whether at least one of said adjacent regions isintra-coded.
 28. A decoder for decoding an image comprising: (a) a firstidentifier for identifying adjacent regions in said image; (b) anexaminer for examining coding parameters for said adjacent regions; and(c) a filter for selectively filtering at least a portion of saidregions proximate a boundary between said adjacent regions based uponsaid coding parameters; wherein said selectively filtering is based upondetermining whether at least one of said adjacent regions is encodedwith residuals.
 29. A decoder for decoding an image comprising: (a) afirst identifier for identifying adjacent regions in said image; (b) anexaminer for examining coding parameters for said adjacent regions; and(c) a filter for selectively filtering at least a portion of saidregions proximate a boundary between said adjacent regions based uponsaid coding parameters; wherein said selectively filtering is based upondetermining whether at least two of said adjacent regions are predictedbased upon two different reference frames.
 30. A decoder for decoding animage comprising: (a) a first identifier for identifying adjacentregions in said image; (b) an examiner examining coding parameters forsaid adjacent regions; and (c) a filter for selectively filtering atleast a portion of said regions proximate a boundary between saidadjacent regions based upon said coding parameters; wherein saidselectively filtering is based upon determining whether at least two ofsaid adjacent regions have an absolute difference of motion vectors thatis greater than or less than a threshold value.
 31. The decoder of claim30 wherein said absolute difference is in a first direction.
 32. Thedecoder of claim 31 wherein said absolute difference is also in a seconddirection different than said first direction.
 33. A decoder fordecoding an image comprising: (a) a first identifier for identifyingadjacent regions in said image; (b) an examiner for examining codingparameters for said adjacent regions; and (c) at least one filter forselectively filtering at least a portion of said regions proximate aboundary between said adjacent regions based upon said codingparameters; wherein said selectively filtering uses a first filter whensaid adjacent regions are intra-coded.
 34. A decoder for decoding animage comprising: (a) a first identifier for identifying adjacentregions in said image; (b) an examiner for examining coding parametersfor said adjacent regions; and (c) a plurality of filters forselectively filtering at least a portion of said regions proximate aboundary between said adjacent regions based upon said codingparameters; wherein said selectively filtering uses a first filter whensaid adjacent regions are intra-coded and a second filter when said atleast one of said adjacent regions is encoded with residuals.
 35. Adecoder for decoding an image comprising: (a) a first identifier foridentifying adjacent regions in said image; (b) an examiner forexamining coding parameters for said adjacent regions; and (c) aplurality of filters for selectively filtering at least a portion ofsaid regions proximate a boundary between said adjacent regions basedupon said coding parameters; wherein said selectively filtering uses afirst filter when said adjacent regions are intra-coded, a second filterwhen at least one of said adjacent regions is encoded with residuals,and a third filter when at least two of said adjacent regions arepredicted based upon two different reference frames.
 36. A decoder fordecoding an image comprising: (a) a first identifier for identifyingadjacent regions in said image; (b) an examiner for examining codingparameters for said adjacent regions; and (c) a plurality of filters forselectively filtering at least a portion of said regions proximate aboundary between said adjacent regions based upon said codingparameters; wherein said selectively filtering uses a first filter whensaid adjacent regions are intra-coded, a second filter when at least oneof said adjacent regions is encoded with residuals, a third filter whenat least two of said adjacent regions are predicted based upon twodifferent reference frames, and said third filter when said at least twoof said adjacent regions have an absolute difference of motion vectorsthat is a greater than or less than a threshold value.
 37. A computerreadable medium comprising instructions for performing the acts of: (a)identifying adjacent regions in an image; (b) examining codingparameters for said adjacent regions; (c) selectively filtering at leasta portion of said regions proximate a boundary between said adjacentregions based upon said coding parameters; (d) identifying similaritiesbetween said coding parameters in a luminance channel of said adjacentregions; and (e) controlling filtering for both the luminance channeland a chrominance channel in said image according to said similaritiesin the luminance channel.
 38. A computer data signal embodied in anelectronic transmission, said signal comprising instructions for: (a)identifying adjacent regions in an image; (b) examining codingparameters for said adjacent regions; (c) selectively filtering at leasta portion of said regions proximate a boundary between said adjacentregions based upon said coding parameters; (d) identifying similaritiesbetween said coding parameters in a luminance channel of said adjacentregions; and (e) controlling filtering for both the luminance channeland a chrominance channel in said image according to said similaritiesin the luminance channel.